In the latter half of the twentieth century, there began a phenomenon known as the information revolution. While the information revolution is a historical development broader in scope than any one event or machine, no single device has come to represent the information revolution more than the digital electronic computer. The development of computer systems has surely been a revolution. Each year, computer systems grow faster, store more data, and provide more applications to their users. At the same time, the cost of computing resources has consistently declined, so that information which was too expensive to gather, store and process a few years ago, is now economically feasible to manipulate via computer. The reduced cost of information processing drives increasing productivity in a snowballing effect, because product designs, manufacturing processes, resource scheduling, administrative chores, and many other factors, are made more efficient.
The reduced cost of computing and the general availability of digital devices has brought an explosion in the volume of information stored in such devices. With so much information stored in digital form, it is naturally desirable to obtain wide access from computer systems. The volume of information dwarfs the storage capability of any one device. To improve information access, various techniques for allowing computing devices to communicate and exchange information with one another have been developed. Perhaps the most outstanding example of this distributed computing is the World Wide Web (often known simply as the “web”), a collection of resources which are made available throughout the world using the Internet. People from schoolchildren to the elderly are learning to use the web, and finding an almost endless variety of information from the convenience of their homes or places of work. Businesses, government, organizations and even ordinary individuals are making information available on the web, to the degree that it is now the expectation that anything worth knowing about is available somewhere on the web.
The Internet, which provides the support for the web as well as for e-mail and other forms of communication and distributed processing among multiple digital systems, is a heterogeneous network of digital devices (nodes) connected by multiple links, so that between any two nodes of the network there are typically multiple paths, giving the Internet some degree of redundancy.
In order to support communication between any two arbitrary nodes coupled to the Internet, a global naming convention known as the Domain Name System (DNS) is used to assign a unique name to each node. A source node connected to the Internet, having only the global DNS name of a target node, can send a data packet to the target, allowing the various routers, servers and other devices on the Internet to determine a path and final destination node for the data packet. As part of this routing process, the global DNS name is translated to an Internet Protocol (IP) address of the target node which is used at the communications link level. Name-to-address translation is accomplished by one or more domain name servers connected to the Internet.
As the Internet has evolved, the task of maintaining the databases in the domain name servers has accordingly grown in scope and complexity. Originally, it was anticipated that the domain server databases would be relatively static databases maintained by manual editing. The massive increase in number of nodes and uses to which they are put has induced changes to the underlying Internet protocols. The most recent protocol, Internet Protocol Version 6 (IPv6), supports dynamic assignment of IP addresses to physical devices and IP addresses which have limited lifetimes, expiring by their own terms at the end of the defined lifetime. With these and other changes, it is expected that the number of IP addresses per node may increase dramatically, and that the set of current valid addresses may be subject to frequent change. The burden of maintaining IP addresses is accordingly increased.
In some circumstances, it is possible for multiple physical network adapters coupled to a common node to share the same IP address. Such a shared address is also referred to as a virtual IP address. The use of virtual IP addresses provides a degree of fault tolerance, since if one adapter fails, another adapter sharing the same virtual IP address can receive incoming network communications addressed to the virtual address. Unfortunately, current techniques for automatically configuring an IP address to a physical device generally do not work well with virtual IP addresses. Using prior art techniques, it is generally necessary to manually configure the virtual IP address.
Manual configuration is cumbersome and error prone. Furthermore, manual reconfiguration may be required every time an adapter is added, removed, or plugged into a different physical network. The advent of IPv6 and the continued growth and maturation of the Internet is likely to overwhelm conventional processes for maintaining Internet address data, and in particular for configuring virtual IP addresses. A need therefore exists for improved techniques for configuring IP addresses, and in particular, for configuring virtual IP addresses.